/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package control;

import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import modelos.Avaliacao;
import modelos.AvaliacaoDAO;
import modelos.Disciplina;
import modelos.DisciplinaDAO;
import modelos.ExeMultiplaEscolha;
import modelos.Pessoa;


/**
 *
 * @author Marcelo
 */
@ManagedBean(name="EPAControle")
@SessionScoped
public class EPAControle {

    private Pessoa usuario;
    private Disciplina disciplina;
    private ExeMultiplaEscolha exercicioSelecionado;
    private Avaliacao avaliacao;
    private List<Disciplina> listaDisciplinas;

    private String msgExercicio = "";
    private boolean exeRespondido = false;

    public String getInit(){
        return "";
    }

    public String responder(){

        //Verifica o tipo de exercicio
        //Se for do tipo 1 já responde na hora
        
            //Compara
            if(avaliacao.getResposta().equalsIgnoreCase(exercicioSelecionado.getResolucao()))
            {
                avaliacao.setStatus(1); //Se está certo status = 1
                msgExercicio = "Parabéns! Você acertou!";
            }
            else{
                avaliacao.setStatus(2); //Senão status = 2
                msgExercicio = "Infelizmente você não acertou. A resposta certa era: \n" +
                        exercicioSelecionado.getResolucao();
            }
        /*}
        else //Fica pendente para o professor avaliar
        {
            avaliacao.setStatus(0);
            msgExercicio = "Pronto! Sua resposta foi salva para ser avaliada por um professor.\n" +
                    "Verifique suas avaliações para saber o seu resultado.";
        }*/
        exeRespondido = true;

        AvaliacaoDAO aDAO = new AvaliacaoDAO();
        aDAO.salvarAvaliacao(avaliacao);

        avaliacao = new Avaliacao();
        avaliacao.setAluno(usuario);
        avaliacao.setAtividade(exercicioSelecionado);
        avaliacao.setResposta("");

        return null;
    }

    public Disciplina getDisciplina() {
        return disciplina;
    }

    public void setDisciplina(Disciplina disciplina) {
        this.disciplina = disciplina;
    }

    public ExeMultiplaEscolha getExercicioSelecionado() {
        return exercicioSelecionado;
    }

    public void setExercicioSelecionado(ExeMultiplaEscolha exercicioSelecionado) {
        exeRespondido = false;
        this.exercicioSelecionado = exercicioSelecionado;
    }

    public Pessoa getUsuario() {
        return usuario;
    }

    public void setUsuario(Pessoa usuario) {
        this.usuario = usuario;
    }

    public Avaliacao getAvaliacao() {
        return avaliacao;
    }

    public void setAvaliacao(Avaliacao avaliacao) {
        this.avaliacao = avaliacao;
    }

    public List<Disciplina> getListaDisciplinas() {
        DisciplinaDAO dDAO = new DisciplinaDAO();
        listaDisciplinas = dDAO.buscaTodasDisciplinas();
        return listaDisciplinas;
    }

    public void setListaDisciplinas(List<Disciplina> listaDisciplinas) {
        this.listaDisciplinas = listaDisciplinas;
    }

    public boolean isExeRespondido() {
        return exeRespondido;
    }

    public boolean getExeRespondido() {
        return exeRespondido;
    }

    public void setExeRespondido(boolean exeRespondido) {
        this.exeRespondido = exeRespondido;
    }

    public String getMsgExercicio() {
        return msgExercicio;
    }

    public void setMsgExercicio(String msgExercicio) {
        this.msgExercicio = msgExercicio;
    }

}
